package com.ixuestar.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.ixuestar.entity.MinxueStu;
import com.ixuestar.entity.School;
import com.ixuestar.entity.SchoolClass;
import com.ixuestar.entity.SchoolGrade;
import com.ixuestar.entity.SchoolStudent;
import com.ixuestar.entity.Temp;
import com.ixuestar.entity.YxIncludegrade;
import com.ixuestar.entity.YxKnowledge;
import com.ixuestar.entity.YxKnowledgevideo;
import com.ixuestar.entity.YxMembership;
import com.ixuestar.entity.YxPlayhistory;
import com.ixuestar.entity.YxSubKnowledge;
import com.ixuestar.entity.YxVideootherinfo;
import com.ixuestar.entity.YxWxuser;

public interface IxuestarEasyLearnMapper {

	//通过手机号获取信息
	public YxWxuser getYxWxuser(@Param("map")Map<String, Object>map);
	//写入微信用户信息
	public void writeYxWxuser(YxWxuser yxWxuser);
	//获取学校列表
	public List<School> getSchoolInfo(@Param("map")Map<String, Object>map);
	//获取学校的年级列表
	public List<SchoolGrade> getSchoolGrades(@Param("map")Map<String, Object>map);
	//获取年级的班级列表
	public List<SchoolClass> getSchoolClasses(@Param("map")Map<String, Object>map);
	//获取班级的学生列表
	public List<SchoolStudent> getSchoolStudents(@Param("map")Map<String, Object>map);
	//查询会员信息
	public YxMembership getMembershipInfo(@Param("map")Map<String, Object>map);
	//绑定信息
	public void updateYxWxuser(YxWxuser yxWxuser);
	//获取此年级
	public YxIncludegrade getYxIncludegrade(@Param("map")Map<String, Object>map);
	//获取知识点类型
	public List<YxKnowledge> getYxKnowledges(@Param("map")Map<String, Object>map);
	//获取二级知识点
	public List<YxSubKnowledge> getYxSubKnowledges(@Param("map")Map<String, Object>map);
	//获取视频列表
	public List<YxKnowledgevideo> getYxKnowledgevideos(@Param("map")Map<String, Object>map);
	//获取视频的播放量和点赞量
	public YxVideootherinfo getYxVideootherinfo(@Param("map")Map<String, Object>map);
	//写入播放历史
	public void writePlayHistory(YxPlayhistory yxPlayhistory);
	//查询播放历史
	public YxPlayhistory getYxPlayhistory(@Param("map")Map<String, Object>map);
	//修改播放历史
	public void updatePlayHistory(YxPlayhistory yxPlayhistory);
	//创建播放历史
	public void writeYxVideootherinfo(YxVideootherinfo yxVideootherinfo);
	//更新播放量
	public void updateYxVideootherinfo(YxVideootherinfo yxVideootherinfo);
	//查询是否点赞
	public YxPlayhistory getYxLikehistory(@Param("map")Map<String, Object>map);
	//写入点赞数据
	public void writeLikeHistory(YxPlayhistory yxPlayhistory);
	//更新点赞数据
	public void updateLikeHistory(YxPlayhistory yxPlayhistory);
	//删除点赞
	public void deleteLikeHistory(@Param("ylhId")String ylhId);
	//查询是否收藏
	public YxPlayhistory getYxCollecthistory(@Param("map")Map<String, Object>map);
	//写入收藏视频
	public void writeCollectHistory(YxPlayhistory yxPlayhistory);
	//更新收藏视频
	public void updateCollectHistory(YxPlayhistory yxPlayhistory);
	//查看播放历史列表
	public List<YxPlayhistory> getYxPlayhistoriesList(@Param("map")Map<String, Object>map);
	//查看收藏历史列表
	public List<YxPlayhistory> getYxCollecthistoriesList(@Param("map")Map<String, Object>map);
	//获取会员四位码
	public YxMembership getYxMembership(@Param("map")Map<String, Object>map);
	//修改会员信息
	public void updateYxMembership(YxMembership yxMembership);
	//获取敏学信息
	public MinxueStu getMinxueStuInfo(@Param("map")Map<String, Object>map);
	//获取知识点类型
	public List<YxKnowledge> getYxKnowledgeLists(@Param("map")Map<String, Object>map);
	//获取点赞数量和播放量
	public Temp getPlayLikeNum(@Param("map")Map<String, Object>map);
}
